1. Field of the Disclosure
The present invention relates to learning and processing spatial patterns and temporal sequences in a temporal memory system, and more specifically to using a sparse distributed representation to learn and process spatial patterns and temporal sequences in a temporal memory system.
2. Description of the Related Arts
Hierarchical Temporal Memory (HTM) systems represent a new approach to machine intelligence. In an HTM system, training data comprising temporal sequences and/or spatial patterns are presented to a network of nodes. The HTM network then builds a model of the statistical structure inherent to the spatial patterns and temporal sequences in the training data, and thereby learns the underlying ‘causes’ of the temporal sequences of patterns and sequences in the training data. The hierarchical structures of the HTM system allow them to build models of very high dimensional input spaces using reasonable amounts of memory and processing capacity.
The training process of the HTM system is largely a form of unsupervised machine learning. During a training process, one or more processing nodes of the HTM system form relationships between temporal sequences and/or spatial patterns present in training input and their associated causes or events. During the learning process, indexes indicative of the cause or events corresponding to the training input may be presented to the HTM system to allow the HTM system to associate particular categories, causes or events with the training input.
Once an HTM system has built a model of a particular input space, it can perform inference or prediction. To perform inference or prediction, novel input including temporal sequences or spatial patterns are presented to the HTM system. During the inference stage, each node in the HTM system produces an output that is more invariant and temporally stable than its input. That is, the output from a node in the HTM system is more abstract and invariant compared to its input. At its highest node, the HTM system will generate an output indicative of the underlying cause or event associated with the novel input.